/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.cx1.service.api;

import java.util.Date;
import java.util.List;
import org.cx1.model.Listing;
import org.cx1.model.Place;
import org.cx1.model.utils.ServiceResponse;

/**
 *
 * @author ECH
 */
public interface IPlaceService {
    
    public ServiceResponse<String> create(Place place);
    
    public ServiceResponse<Place> read(String id);
    
    public ServiceResponse<Place> readShallow(String id);
        
    public ServiceResponse<List<Place>> readAll(int offset, int limit);
        
    public ServiceResponse<Boolean> update(Place place);
            
    public ServiceResponse<Boolean> delete(String id);
    
    public ServiceResponse<String> readIDByTitle(String title);
    
    public ServiceResponse<List<Place>> readAllByType(String placeTypeID, int offset, int limit);
    
    public ServiceResponse<Place> readClosestMatch(String placeTypeID, String title);
    
    public ServiceResponse<Boolean> incrementImpressions(String id);
    
    public ServiceResponse<Boolean> incrementViews(String id);
    
    /*
    public ServiceResponse<List<Place>> getPlaceAll();
    
    public ServiceResponse<Place> getPlace(String id);
    
    public ServiceResponse<String> addPlace(String title, String desc, String address, String lat, String lng, int type, List<String> images);
    
    public ServiceResponse<Boolean> deactivatePlace(String id);
    
    public ServiceResponse<String> updatePlace(String id, String title, String desc, String address, String lat, String lng, int type);
        
    public ServiceResponse<String> addPlaceImages(String id, List<String> images);
    
    public ServiceResponse<Boolean> removePlaceImage(String id, String imageID);
    */
}
